--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sbapp/ui/messages.py 0.7.2 (6fcff084) Text, 33.94 KB
Tff7b72import T7ee787time
Tff7b72import T7ee787RNS
Tff7b72import T7ee787LXMF
Tff7b72from T7ee787kivyT7ee787.T7ee787metrics Tff7b72import Te6edf3dpTb4b4b4,Te6edf3sp
Tff7b72from T7ee787kivyT7ee787.T7ee787coreT7ee787.T7ee787clipboard Tff7b72import Te6edf3Clipboard
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787card Tff7b72import Te6edf3MDCard
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787menu Tff7b72import Te6edf3MDDropdownMenu
T8b949e# from kivymd.uix.behaviors import RoundedRectangularElevationBehavior, FakeRectangularElevationBehavior
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787behaviors Tff7b72import Te6edf3CommonElevationBehavior
Tff7b72from T7ee787kivyT7ee787.T7ee787properties Tff7b72import Te6edf3StringPropertyTb4b4b4, Te6edf3BooleanProperty
Tff7b72from T7ee787kivyT7ee787.T7ee787uixT7ee787.T7ee787gridlayout Tff7b72import Te6edf3GridLayout
Tff7b72from T7ee787kivyT7ee787.T7ee787uixT7ee787.T7ee787boxlayout Tff7b72import Te6edf3BoxLayout
Tff7b72from T7ee787kivyT7ee787.T7ee787clock Tff7b72import Te6edf3Clock
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787button Tff7b72import Te6edf3MDRectangleFlatButtonTb4b4b4, Te6edf3MDRectangleFlatIconButton
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787dialog Tff7b72import Te6edf3MDDialog
Tff7b72import T7ee787os
Tff7b72import T7ee787plyer
Tff7b72import T7ee787subprocess
Tff7b72import T7ee787shlex
Tff7b72if Te6edf3RNSTff7b72.Td2a8ffvendorTff7b72.Td2a8ffplatformutilsTff7b72.Td2a8ffget_platformTb4b4b4(Tb4b4b4) Tff7b72== Ta5d6ff"Ta5d6ffandroidTa5d6ff"Tb4b4b4:
Tff7b72from T7ee787sidebandT7ee787.T7ee787sense Tff7b72import Te6edf3TelemeterTb4b4b4, Te6edf3Commands
Tff7b72from T7ee787uiT7ee787.T7ee787helpers Tff7b72import Te6edf3ts_formatTb4b4b4, Te6edf3file_ts_formatTb4b4b4, Te6edf3mdc
Tff7b72from T7ee787uiT7ee787.T7ee787helpers Tff7b72import Te6edf3color_receivedTb4b4b4, Te6edf3color_deliveredTb4b4b4, Te6edf3color_propagatedTb4b4b4, Te6edf3color_paperTb4b4b4, Te6edf3color_failedTb4b4b4, Te6edf3color_unknownTb4b4b4, Te6edf3intensity_msgs_darkTb4b4b4, Te6edf3intensity_msgs_light
Tff7b72elseTb4b4b4:
Tff7b72from T7ee787sbappT7ee787.T7ee787sidebandT7ee787.T7ee787sense Tff7b72import Te6edf3TelemeterTb4b4b4, Te6edf3Commands
Tff7b72from T7ee787.T7ee787helpers Tff7b72import Te6edf3ts_formatTb4b4b4, Te6edf3file_ts_formatTb4b4b4, Te6edf3mdc
Tff7b72from T7ee787.T7ee787helpers Tff7b72import Te6edf3color_receivedTb4b4b4, Te6edf3color_deliveredTb4b4b4, Te6edf3color_propagatedTb4b4b4, Te6edf3color_paperTb4b4b4, Te6edf3color_failedTb4b4b4, Te6edf3color_unknownTb4b4b4, Te6edf3intensity_msgs_darkTb4b4b4, Te6edf3intensity_msgs_light
Tff7b72from T7ee787kivyT7ee787.T7ee787langT7ee787.T7ee787builder Tff7b72import Te6edf3Builder
Tff7b72class T56d364ListLXMessageCardTb4b4b4(Te6edf3MDCardTb4b4b4)Tb4b4b4:
T8b949e# class ListLXMessageCard(MDCard, FakeRectangularElevationBehavior):
Te6edf3text Tff7b72= Te6edf3StringPropertyTb4b4b4(Tb4b4b4)
Te6edf3heading Tff7b72= Te6edf3StringPropertyTb4b4b4(Tb4b4b4)
Tff7b72class T56d364MessagesTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3appTb4b4b4, Te6edf3context_destTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffapp Tff7b72= Te6edf3app
Tff7b72selfTff7b72.Td2a8ffcontext_dest Tff7b72= Te6edf3context_dest
Tff7b72selfTff7b72.Td2a8ffsource_dest Tff7b72= Te6edf3context_dest
Tff7b72selfTff7b72.Td2a8ffis_trusted Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffis_trustedTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcontext_destTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffscreen Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffrootTff7b72.Td2a8ffidsTff7b72.Td2a8ffscreen_managerTff7b72.Td2a8ffget_screenTb4b4b4(Ta5d6ff"Ta5d6ffmessages_screenTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffids Tff7b72= Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffids
Tff7b72selfTff7b72.Td2a8ffnew_messages Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffadded_item_hashes Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffadded_messages Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8fflatest_message_timestamp Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffearliest_message_timestamp Tff7b72= Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffloading_earlier_messages Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8fflist Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffwidgets Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffsend_error_dialog Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffload_more_button Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffupdateTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffreloadTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fflist Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8fflistTff7b72.Td2a8ffclear_widgetsTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffnew_messages Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffadded_item_hashes Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffadded_messages Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8fflatest_message_timestamp Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffwidgets Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffupdateTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffload_moreTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72for Te6edf3new_message Tff7b72in Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fflist_messagesTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcontext_destTb4b4b4, Te6edf3beforeTff7b72=Tff7b72selfTff7b72.Td2a8ffearliest_message_timestampTb4b4b4,Te6edf3limitTff7b72=T79c0ff5Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffnew_messagesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3new_messageTb4b4b4)
Tff7b72if Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffnew_messagesTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffloading_earlier_messages Tff7b72= Tff7b72True
Tff7b72selfTff7b72.Td2a8fflistTff7b72.Td2a8ffremove_widgetTb4b4b4(Tff7b72selfTff7b72.Td2a8ffload_more_buttonTb4b4b4)
Tff7b72def Td2a8ffupdateTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3limitTff7b72=T79c0ff8Tb4b4b4)Tb4b4b4:
Tff7b72for Te6edf3new_message Tff7b72in Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fflist_messagesTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcontext_destTb4b4b4, Te6edf3afterTff7b72=Tff7b72selfTff7b72.Td2a8fflatest_message_timestampTb4b4b4,Te6edf3limitTff7b72=Te6edf3limitTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffnew_messagesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3new_messageTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdb_message_count Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffcount_messagesTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcontext_destTb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffload_more_button Tff7b72== Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffload_more_button Tff7b72= Te6edf3MDRectangleFlatIconButtonTb4b4b4(
Te6edf3iconTff7b72=Ta5d6ff"Ta5d6ffmessage-text-clock-outlineTa5d6ff"Tb4b4b4,
Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffLoad earlier messagesTa5d6ff"Tb4b4b4,
Te6edf3font_sizeTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4,
Te6edf3theme_text_colorTff7b72=Ta5d6ff"Ta5d6ffCustomTa5d6ff"Tb4b4b4,
Te6edf3size_hintTff7b72=Tb4b4b4[T79c0ff1.0Tb4b4b4, Tff7b72NoneTb4b4b4]Tb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8fflmcbTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Tff7b72selfTff7b72.Td2a8ffload_moreTb4b4b4, T79c0ff0.15Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffload_more_buttonTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_releaseTff7b72=Te6edf3lmcbTb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8fflist Tff7b72== Tff7b72NoneTb4b4b4:
Te6edf3layout Tff7b72= Te6edf3GridLayoutTb4b4b4(Te6edf3colsTff7b72=T79c0ff1Tb4b4b4, Te6edf3spacingTff7b72=Te6edf3dpTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4, Te6edf3paddingTff7b72=Te6edf3dpTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4, Te6edf3size_hint_yTff7b72=Tff7b72NoneTb4b4b4)
Te6edf3layoutTff7b72.Td2a8ffbindTb4b4b4(Te6edf3minimum_heightTff7b72=Te6edf3layoutTff7b72.Td2a8ffsetterTb4b4b4(Ta5d6ff'Ta5d6ffheightTa5d6ff'Tb4b4b4)Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fflist Tff7b72= Te6edf3layout
Te6edf3c_ts Tff7b72= Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)
Tff7b72if Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffnew_messagesTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffupdate_widgetTb4b4b4(Tb4b4b4)
Tff7b72if Tb4b4b4(Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffadded_item_hashesTb4b4b4) Tff7b72< Tff7b72selfTff7b72.Td2a8ffdb_message_countTb4b4b4) Tff7b72and Tff7b72not Tff7b72selfTff7b72.Td2a8ffload_more_button Tff7b72in Tff7b72selfTff7b72.Td2a8fflistTff7b72.Td2a8ffchildrenTb4b4b4:
Tff7b72selfTff7b72.Td2a8fflistTff7b72.Td2a8ffadd_widgetTb4b4b4(Tff7b72selfTff7b72.Td2a8ffload_more_buttonTb4b4b4, Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8fflistTff7b72.Td2a8ffchildrenTb4b4b4)Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffconfigTb4b4b4[Ta5d6ff"Ta5d6ffdark_uiTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3intensity_msgs Tff7b72= Te6edf3intensity_msgs_dark
Tff7b72elseTb4b4b4:
Te6edf3intensity_msgs Tff7b72= Te6edf3intensity_msgs_light
Tff7b72for Te6edf3w Tff7b72in Tff7b72selfTff7b72.Td2a8ffwidgetsTb4b4b4:
Te6edf3m Tff7b72= Te6edf3wTff7b72.Td2a8ffm
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffconfigTb4b4b4[Ta5d6ff"Ta5d6ffdark_uiTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3wTff7b72.Td2a8ffline_color Tff7b72= Tb4b4b4(T79c0ff1.0Tb4b4b4, T79c0ff1.0Tb4b4b4, T79c0ff1.0Tb4b4b4, T79c0ff0.25Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3wTff7b72.Td2a8ffline_color Tff7b72= Tb4b4b4(T79c0ff1.0Tb4b4b4, T79c0ff1.0Tb4b4b4, T79c0ff1.0Tb4b4b4, T79c0ff0.5Tb4b4b4)
Tff7b72if Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffSENDING Tff7b72or Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffOUTBOUNDTb4b4b4:
Te6edf3msg Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffmessageTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4]Tb4b4b4)
Tff7b72if Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffDELIVEREDTb4b4b4:
Te6edf3wTff7b72.Td2a8ffmd_bg_color Tff7b72= Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_deliveredTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3txstr Tff7b72= Te6edf3timeTff7b72.Td2a8ffstrftimeTb4b4b4(Te6edf3ts_formatTb4b4b4, Te6edf3timeTff7b72.Td2a8fflocaltimeTb4b4b4(Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4)
Te6edf3titlestr Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3titlestr Tff7b72= Ta5d6ff"Ta5d6ff[b]Title[/b] Ta5d6ff"Tff7b72+Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tff7b72+Ta5d6ff"Tffea00\nTa5d6ff"
Te6edf3wTff7b72.Td2a8ffheading Tff7b72= Te6edf3titlestrTff7b72+Ta5d6ff"Ta5d6ff[b]Sent[/b] Ta5d6ff"Tff7b72+Te6edf3txstrTff7b72+Ta5d6ff"Tffea00\nTa5d6ff[b]State[/b] DeliveredTa5d6ff"
Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffmethodTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffPAPERTb4b4b4:
Te6edf3wTff7b72.Td2a8ffmd_bg_color Tff7b72= Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_paperTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3txstr Tff7b72= Te6edf3timeTff7b72.Td2a8ffstrftimeTb4b4b4(Te6edf3ts_formatTb4b4b4, Te6edf3timeTff7b72.Td2a8fflocaltimeTb4b4b4(Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4)
Te6edf3titlestr Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3titlestr Tff7b72= Ta5d6ff"Ta5d6ff[b]Title[/b] Ta5d6ff"Tff7b72+Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tff7b72+Ta5d6ff"Tffea00\nTa5d6ff"
Te6edf3wTff7b72.Td2a8ffheading Tff7b72= Te6edf3titlestrTff7b72+Ta5d6ff"Ta5d6ff[b]Sent[/b] Ta5d6ff"Tff7b72+Te6edf3txstrTff7b72+Ta5d6ff"Tffea00\nTa5d6ff[b]State[/b] Paper MessageTa5d6ff"
Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffmethodTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffPROPAGATED Tff7b72and Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffSENTTb4b4b4:
Te6edf3wTff7b72.Td2a8ffmd_bg_color Tff7b72= Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_propagatedTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3txstr Tff7b72= Te6edf3timeTff7b72.Td2a8ffstrftimeTb4b4b4(Te6edf3ts_formatTb4b4b4, Te6edf3timeTff7b72.Td2a8fflocaltimeTb4b4b4(Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4)
Te6edf3titlestr Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3titlestr Tff7b72= Ta5d6ff"Ta5d6ff[b]Title[/b] Ta5d6ff"Tff7b72+Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tff7b72+Ta5d6ff"Tffea00\nTa5d6ff"
Te6edf3wTff7b72.Td2a8ffheading Tff7b72= Te6edf3titlestrTff7b72+Ta5d6ff"Ta5d6ff[b]Sent[/b] Ta5d6ff"Tff7b72+Te6edf3txstrTff7b72+Ta5d6ff"Tffea00\nTa5d6ff[b]State[/b] On Propagation NetTa5d6ff"
Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffFAILEDTb4b4b4:
Te6edf3wTff7b72.Td2a8ffmd_bg_color Tff7b72= Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_failedTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3txstr Tff7b72= Te6edf3timeTff7b72.Td2a8ffstrftimeTb4b4b4(Te6edf3ts_formatTb4b4b4, Te6edf3timeTff7b72.Td2a8fflocaltimeTb4b4b4(Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4)
Te6edf3titlestr Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3titlestr Tff7b72= Ta5d6ff"Ta5d6ff[b]Title[/b] Ta5d6ff"Tff7b72+Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tff7b72+Ta5d6ff"Tffea00\nTa5d6ff"
Te6edf3wTff7b72.Td2a8ffheading Tff7b72= Te6edf3titlestrTff7b72+Ta5d6ff"Ta5d6ff[b]Sent[/b] Ta5d6ff"Tff7b72+Te6edf3txstrTff7b72+Ta5d6ff"Tffea00\nTa5d6ff[b]State[/b] FailedTa5d6ff"
Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3msgTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4]
Te6edf3wTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffitemsTff7b72.Td2a8ffappendTb4b4b4(Te6edf3wTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffretry_itemTb4b4b4)
Tff7b72def Td2a8ffupdate_widgetTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffconfigTb4b4b4[Ta5d6ff"Ta5d6ffdark_uiTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3intensity_msgs Tff7b72= Te6edf3intensity_msgs_dark
Te6edf3mt_color Tff7b72= Tb4b4b4[T79c0ff1.0Tb4b4b4, T79c0ff1.0Tb4b4b4, T79c0ff1.0Tb4b4b4, T79c0ff0.8Tb4b4b4]
Tff7b72elseTb4b4b4:
Te6edf3intensity_msgs Tff7b72= Te6edf3intensity_msgs_light
Te6edf3mt_color Tff7b72= Tb4b4b4[T79c0ff1.0Tb4b4b4, T79c0ff1.0Tb4b4b4, T79c0ff1.0Tb4b4b4, T79c0ff0.95Tb4b4b4]
Tff7b72if Tff7b72selfTff7b72.Td2a8ffloading_earlier_messagesTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffnew_messagesTff7b72.Td2a8ffreverseTb4b4b4(Tb4b4b4)
Tff7b72for Te6edf3m Tff7b72in Tff7b72selfTff7b72.Td2a8ffnew_messagesTb4b4b4:
Tff7b72if Tff7b72not Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4] Tff7b72in Tff7b72selfTff7b72.Td2a8ffadded_item_hashesTb4b4b4:
Te6edf3txstr Tff7b72= Te6edf3timeTff7b72.Td2a8ffstrftimeTb4b4b4(Te6edf3ts_formatTb4b4b4, Te6edf3timeTff7b72.Td2a8fflocaltimeTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4)
Te6edf3rxstr Tff7b72= Te6edf3timeTff7b72.Td2a8ffstrftimeTb4b4b4(Te6edf3ts_formatTb4b4b4, Te6edf3timeTff7b72.Td2a8fflocaltimeTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffreceivedTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4)
Te6edf3titlestr Tff7b72= Ta5d6ff"Ta5d6ff"
Te6edf3extra_content Tff7b72= Ta5d6ff"Ta5d6ff"
Te6edf3extra_telemetry Tff7b72= Tb4b4b4{Tb4b4b4}
Te6edf3telemeter Tff7b72= Tff7b72None
Te6edf3signature_valid Tff7b72= Tff7b72False
Tff7b72if Ta5d6ff"Ta5d6fflxmTa5d6ff" Tff7b72in Te6edf3m Tff7b72and Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4] Tff7b72!= Tff7b72None Tff7b72and Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffsignature_validatedTb4b4b4:
Te6edf3signature_valid Tff7b72= Tff7b72True
Tff7b72if Ta5d6ff"Ta5d6ffextrasTa5d6ff" Tff7b72in Te6edf3m Tff7b72and Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffextrasTa5d6ff"Tb4b4b4] Tff7b72!= Tff7b72None Tff7b72and Ta5d6ff"Ta5d6ffpacked_telemetryTa5d6ff" Tff7b72in Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffextrasTa5d6ff"Tb4b4b4]Tb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3telemeter Tff7b72= Te6edf3TelemeterTff7b72.Td2a8fffrom_packedTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffextrasTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffpacked_telemetryTa5d6ff"Tb4b4b4]Tb4b4b4)
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Tff7b72pass
Tff7b72if Ta5d6ff"Ta5d6fflxmTa5d6ff" Tff7b72in Te6edf3m Tff7b72and Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4] Tff7b72!= Tff7b72None Tff7b72and Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tff7b72.Td2a8fffields Tff7b72!= Tff7b72None Tff7b72and Te6edf3LXMFTff7b72.Td2a8ffFIELD_COMMANDS Tff7b72in Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tff7b72.Td2a8fffieldsTb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3commands Tff7b72= Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tff7b72.Td2a8fffieldsTb4b4b4[Te6edf3LXMFTff7b72.Td2a8ffFIELD_COMMANDSTb4b4b4]
Tff7b72for Te6edf3command Tff7b72in Te6edf3commandsTb4b4b4:
Tff7b72if Te6edf3CommandsTff7b72.Td2a8ffECHO Tff7b72in Te6edf3commandTb4b4b4:
Te6edf3extra_content Tff7b72= Ta5d6ff"Ta5d6ff[font=RobotoMono-Regular]> echo Ta5d6ff"Tff7b72+Te6edf3commandTb4b4b4[Te6edf3CommandsTff7b72.Td2a8ffECHOTb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ff[/font]Tffea00\nTa5d6ff"
Tff7b72if Te6edf3CommandsTff7b72.Td2a8ffPING Tff7b72in Te6edf3commandTb4b4b4:
Te6edf3extra_content Tff7b72= Ta5d6ff"Ta5d6ff[font=RobotoMono-Regular]> ping[/font]Tffea00\nTa5d6ff"
Tff7b72if Te6edf3CommandsTff7b72.Td2a8ffSIGNAL_REPORT Tff7b72in Te6edf3commandTb4b4b4:
Te6edf3extra_content Tff7b72= Ta5d6ff"Ta5d6ff[font=RobotoMono-Regular]> sig[/font]Tffea00\nTa5d6ff"
Te6edf3extra_content Tff7b72= Te6edf3extra_contentTb4b4b4[Tb4b4b4:Tff7b72-T79c0ff1Tb4b4b4]
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffError while generating command display: Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_ERRORTb4b4b4)
Tff7b72if Te6edf3telemeter Tff7b72== Tff7b72None Tff7b72and Ta5d6ff"Ta5d6fflxmTa5d6ff" Tff7b72in Te6edf3m Tff7b72and Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4] Tff7b72and Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tff7b72.Td2a8fffields Tff7b72!= Tff7b72None Tff7b72and Te6edf3LXMFTff7b72.Td2a8ffFIELD_TELEMETRY Tff7b72in Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tff7b72.Td2a8fffieldsTb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3packed_telemetry Tff7b72= Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tff7b72.Td2a8fffieldsTb4b4b4[Te6edf3LXMFTff7b72.Td2a8ffFIELD_TELEMETRYTb4b4b4]
Te6edf3telemeter Tff7b72= Te6edf3TelemeterTff7b72.Td2a8fffrom_packedTb4b4b4(Te6edf3packed_telemetryTb4b4b4)
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Tff7b72pass
Te6edf3rcvd_d_str Tff7b72= Ta5d6ff"Ta5d6ff"
Te6edf3trcvd Tff7b72= Te6edf3telemeterTff7b72.Td2a8ffreadTb4b4b4(Ta5d6ff"Ta5d6ffreceivedTa5d6ff"Tb4b4b4) Tff7b72if Te6edf3telemeter Tff7b72else Tff7b72None
Tff7b72if Te6edf3trcvd Tff7b72and Ta5d6ff"Ta5d6ffdistanceTa5d6ff" Tff7b72in Te6edf3trcvdTb4b4b4:
Te6edf3d Tff7b72= Te6edf3trcvdTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]
Tff7b72if Ta5d6ff"Ta5d6ffeuclidianTa5d6ff" Tff7b72in Te6edf3dTb4b4b4:
Te6edf3edst Tff7b72= Te6edf3dTb4b4b4[Ta5d6ff"Ta5d6ffeuclidianTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3edst Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3rcvd_d_str Tff7b72= Ta5d6ff"Tffea00\nTa5d6ff[b]Distance[/b] Ta5d6ff"Tff7b72+Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3edstTb4b4b4)
Tff7b72elif Ta5d6ff"Ta5d6ffgeodesicTa5d6ff" Tff7b72in Te6edf3dTb4b4b4:
Te6edf3gdst Tff7b72= Te6edf3dTb4b4b4[Ta5d6ff"Ta5d6ffgeodesicTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3gdst Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3rcvd_d_str Tff7b72= Ta5d6ff"Tffea00\nTa5d6ff[b]Distance[/b] Ta5d6ff"Tff7b72+Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3gdstTb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff (geodesic)Ta5d6ff"
Te6edf3phy_stats_str Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Ta5d6ff"Ta5d6ffextrasTa5d6ff" Tff7b72in Te6edf3m Tff7b72and Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffextrasTa5d6ff"Tb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3phy_stats Tff7b72= Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffextrasTa5d6ff"Tb4b4b4]
Tff7b72if Ta5d6ff"Ta5d6ffqTa5d6ff" Tff7b72in Te6edf3phy_statsTb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3lq Tff7b72= Tffa657roundTb4b4b4(Tffa657floatTb4b4b4(Te6edf3phy_statsTb4b4b4[Ta5d6ff"Ta5d6ffqTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4, T79c0ff1Tb4b4b4)
Te6edf3phy_stats_str Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff[b]Link Quality[/b] Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3lqTb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ff%Ta5d6ff Ta5d6ff"
Te6edf3extra_telemetryTb4b4b4[Ta5d6ff"Ta5d6ffqualityTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3lq
Tff7b72exceptTb4b4b4:
Tff7b72pass
Tff7b72if Ta5d6ff"Ta5d6ffrssiTa5d6ff" Tff7b72in Te6edf3phy_statsTb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3lr Tff7b72= Tffa657roundTb4b4b4(Tffa657floatTb4b4b4(Te6edf3phy_statsTb4b4b4[Ta5d6ff"Ta5d6ffrssiTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4, T79c0ff1Tb4b4b4)
Te6edf3phy_stats_str Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff[b]RSSI[/b] Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3lrTb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ffdBm Ta5d6ff"
Te6edf3extra_telemetryTb4b4b4[Ta5d6ff"Ta5d6ffrssiTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3lr
Tff7b72exceptTb4b4b4:
Tff7b72pass
Tff7b72if Ta5d6ff"Ta5d6ffsnrTa5d6ff" Tff7b72in Te6edf3phy_statsTb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3ls Tff7b72= Tffa657roundTb4b4b4(Tffa657floatTb4b4b4(Te6edf3phy_statsTb4b4b4[Ta5d6ff"Ta5d6ffsnrTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4, T79c0ff1Tb4b4b4)
Te6edf3phy_stats_str Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff[b]SNR[/b] Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3lsTb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ffdB Ta5d6ff"
Te6edf3extra_telemetryTb4b4b4[Ta5d6ff"Ta5d6ffsnrTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3ls
Tff7b72exceptTb4b4b4:
Tff7b72pass
Tff7b72if Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3titlestr Tff7b72= Ta5d6ff"Ta5d6ff[b]Title[/b] Ta5d6ff"Tff7b72+Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tff7b72+Ta5d6ff"Tffea00\nTa5d6ff"
Tff7b72if Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffsourceTa5d6ff"Tb4b4b4] Tff7b72== Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fflxmf_destinationTff7b72.Td2a8ffhashTb4b4b4:
Tff7b72if Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffDELIVEREDTb4b4b4:
Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_deliveredTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3heading_str Tff7b72= Te6edf3titlestrTff7b72+Ta5d6ff"Ta5d6ff[b]Sent[/b] Ta5d6ff"Tff7b72+Te6edf3txstrTff7b72+Ta5d6ff"Tffea00\nTa5d6ff[b]State[/b] DeliveredTa5d6ff"
Tff7b72elif Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffmethodTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffPROPAGATED Tff7b72and Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffSENTTb4b4b4:
Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_propagatedTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3heading_str Tff7b72= Te6edf3titlestrTff7b72+Ta5d6ff"Ta5d6ff[b]Sent[/b] Ta5d6ff"Tff7b72+Te6edf3txstrTff7b72+Ta5d6ff"Tffea00\nTa5d6ff[b]State[/b] On Propagation NetTa5d6ff"
Tff7b72elif Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffmethodTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffPAPERTb4b4b4:
Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_paperTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3heading_str Tff7b72= Te6edf3titlestrTff7b72+Ta5d6ff"Ta5d6ff[b]Created[/b] Ta5d6ff"Tff7b72+Te6edf3txstrTff7b72+Ta5d6ff"Tffea00\nTa5d6ff[b]State[/b] Paper MessageTa5d6ff"
Tff7b72elif Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffFAILEDTb4b4b4:
Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_failedTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3heading_str Tff7b72= Te6edf3titlestrTff7b72+Ta5d6ff"Ta5d6ff[b]Sent[/b] Ta5d6ff"Tff7b72+Te6edf3txstrTff7b72+Ta5d6ff"Tffea00\nTa5d6ff[b]State[/b] FailedTa5d6ff"
Tff7b72elif Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffOUTBOUND Tff7b72or Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffSENDINGTb4b4b4:
Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_unknownTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3heading_str Tff7b72= Te6edf3titlestrTff7b72+Ta5d6ff"Ta5d6ff[b]Sent[/b] Ta5d6ff"Tff7b72+Te6edf3txstrTff7b72+Ta5d6ff"Tffea00\nTa5d6ff[b]State[/b] Sending Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_unknownTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3heading_str Tff7b72= Te6edf3titlestrTff7b72+Ta5d6ff"Ta5d6ff[b]Sent[/b] Ta5d6ff"Tff7b72+Te6edf3txstrTff7b72+Ta5d6ff"Tffea00\nTa5d6ff[b]State[/b] UnknownTa5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3msg_color Tff7b72= Te6edf3mdcTb4b4b4(Te6edf3color_receivedTb4b4b4, Te6edf3intensity_msgsTb4b4b4)
Te6edf3heading_str Tff7b72= Te6edf3titlestr
Tff7b72if Te6edf3phy_stats_str Tff7b72!= Ta5d6ff"Ta5d6ff" Tff7b72and Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffconfigTb4b4b4[Ta5d6ff"Ta5d6ffadvanced_statsTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3heading_str Tff7b72+Tff7b72= Te6edf3phy_stats_strTff7b72+Ta5d6ff"Tffea00\nTa5d6ff"
Te6edf3heading_str Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff[b]Sent[/b] Ta5d6ff"Tff7b72+Te6edf3txstr
Te6edf3heading_str Tff7b72+Tff7b72= Ta5d6ff"Tffea00\nTa5d6ff[b]Received[/b] Ta5d6ff"Tff7b72+Te6edf3rxstr
Tff7b72if Te6edf3rcvd_d_str Tff7b72!= Ta5d6ff"Ta5d6ff"Tb4b4b4:
Te6edf3heading_str Tff7b72+Tff7b72= Te6edf3rcvd_d_str
Te6edf3pre_content Tff7b72= Ta5d6ff"Ta5d6ff"
Te6edf3force_markup Tff7b72= Tff7b72False
Tff7b72if Tff7b72not Te6edf3signature_validTb4b4b4:
Te6edf3identity_known Tff7b72= Tff7b72False
Tff7b72if Te6edf3RNSTff7b72.Td2a8ffIdentityTff7b72.Td2a8ffrecallTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4]Tb4b4b4) Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3identity_known Tff7b72= Tff7b72True
Tff7b72if Te6edf3identity_known Tff7b72== Tff7b72TrueTb4b4b4:
Te6edf3pre_content Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff[b]Warning![/b] The signature for this message could not be validated. [b]This message is likely to be fake[/b].Tffea00\nTffea00\nTa5d6ff"
Te6edf3force_markup Tff7b72= Tff7b72True
Te6edf3item Tff7b72= Te6edf3ListLXMessageCardTb4b4b4(
Te6edf3textTff7b72=Te6edf3pre_contentTff7b72+Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tff7b72+Te6edf3extra_contentTb4b4b4,
Te6edf3headingTff7b72=Te6edf3heading_strTb4b4b4,
Te6edf3md_bg_colorTff7b72=Te6edf3msg_colorTb4b4b4,
Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3RNSTff7b72.Td2a8ffvendorTff7b72.Td2a8ffplatformutilsTff7b72.Td2a8ffis_androidTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3itemTff7b72.Td2a8ffradius Tff7b72= Te6edf3dpTb4b4b4(T79c0ff5Tb4b4b4)
Te6edf3itemTff7b72.Td2a8ffsb_uid Tff7b72= Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4]
Te6edf3itemTff7b72.Td2a8ffm Tff7b72= Te6edf3m
Te6edf3itemTff7b72.Td2a8ffidsTff7b72.Td2a8ffheading_textTff7b72.Td2a8fftheme_text_color Tff7b72= Ta5d6ff"Ta5d6ffCustomTa5d6ff"
Te6edf3itemTff7b72.Td2a8ffidsTff7b72.Td2a8ffheading_textTff7b72.Td2a8fftext_color Tff7b72= Te6edf3mt_color
Te6edf3itemTff7b72.Td2a8ffidsTff7b72.Td2a8ffcontent_textTff7b72.Td2a8fftheme_text_color Tff7b72= Ta5d6ff"Ta5d6ffCustomTa5d6ff"
Te6edf3itemTff7b72.Td2a8ffidsTff7b72.Td2a8ffcontent_textTff7b72.Td2a8fftext_color Tff7b72= Te6edf3mt_color
Te6edf3itemTff7b72.Td2a8ffidsTff7b72.Td2a8ffmsg_submenuTff7b72.Td2a8fftheme_text_color Tff7b72= Ta5d6ff"Ta5d6ffCustomTa5d6ff"
Te6edf3itemTff7b72.Td2a8ffidsTff7b72.Td2a8ffmsg_submenuTff7b72.Td2a8fftext_color Tff7b72= Te6edf3mt_color
Te6edf3itemTff7b72.Td2a8ffidsTff7b72.Td2a8ffcontent_textTff7b72.Td2a8ffmarkup Tff7b72= Tff7b72selfTff7b72.Td2a8ffis_trusted Tff7b72or Te6edf3force_markup
Tff7b72def Td2a8ffgen_delTb4b4b4(Te6edf3mhashTb4b4b4, Te6edf3itemTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffxTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3yes_button Tff7b72= Te6edf3MDRectangleFlatButtonTb4b4b4(Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffYesTa5d6ff"Tb4b4b4,Te6edf3font_sizeTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4, Te6edf3theme_text_colorTff7b72=Ta5d6ff"Ta5d6ffCustomTa5d6ff"Tb4b4b4, Te6edf3line_colorTff7b72=Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffcolor_rejectTb4b4b4, Te6edf3text_colorTff7b72=Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffcolor_rejectTb4b4b4)
Te6edf3no_button Tff7b72= Te6edf3MDRectangleFlatButtonTb4b4b4(Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffNoTa5d6ff"Tb4b4b4,Te6edf3font_sizeTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4)
Te6edf3dialog Tff7b72= Te6edf3MDDialogTb4b4b4(
Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffDelete message?Ta5d6ff"Tb4b4b4,
Te6edf3buttonsTff7b72=Tb4b4b4[ Te6edf3yes_buttonTb4b4b4, Te6edf3no_button Tb4b4b4]Tb4b4b4,
T8b949e# elevation=0,
Tb4b4b4)
Tff7b72def Td2a8ffdl_yesTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4:
Te6edf3dialogTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffdelete_messageTb4b4b4(Te6edf3mhashTb4b4b4)
Tff7b72def Td2a8ffcbTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffreloadTb4b4b4(Tb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3cbTb4b4b4, T79c0ff0.2Tb4b4b4)
Tff7b72def Td2a8ffdl_noTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4:
Te6edf3dialogTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3yes_buttonTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_releaseTff7b72=Te6edf3dl_yesTb4b4b4)
Te6edf3no_buttonTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_releaseTff7b72=Te6edf3dl_noTb4b4b4)
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffopenTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3x
Tff7b72def Td2a8ffgen_retryTb4b4b4(Te6edf3mhashTb4b4b4, Te6edf3mcontentTb4b4b4, Te6edf3itemTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffxTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffmessages_viewTff7b72.Td2a8ffidsTff7b72.Td2a8ffmessage_textTff7b72.Td2a8fftext Tff7b72= Te6edf3mcontentTff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffdelete_messageTb4b4b4(Te6edf3mhashTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffmessage_send_actionTb4b4b4(Tb4b4b4)
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffcbTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffreloadTb4b4b4(Tb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3cbTb4b4b4, T79c0ff0.2Tb4b4b4)
Tff7b72return Te6edf3x
Tff7b72def Td2a8ffgen_copyTb4b4b4(Te6edf3msgTb4b4b4, Te6edf3itemTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffxTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Te6edf3msgTb4b4b4)
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3x
Tff7b72def Td2a8ffgen_copy_telemetryTb4b4b4(Te6edf3telemeterTb4b4b4, Te6edf3extra_telemetryTb4b4b4, Te6edf3itemTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffxTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3telemeter
Tff7b72if Te6edf3extra_telemetry Tff7b72and Tffa657lenTb4b4b4(Te6edf3extra_telemetryTb4b4b4) Tff7b72!= T79c0ff0Tb4b4b4:
Te6edf3physical_link Tff7b72= Te6edf3extra_telemetry
Te6edf3telemeterTff7b72.Td2a8ffsynthesizeTb4b4b4(Ta5d6ff"Ta5d6ffphysical_linkTa5d6ff"Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffrssiTa5d6ff" Tff7b72in Te6edf3physical_linkTb4b4b4: Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffphysical_linkTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffrssi Tff7b72= Te6edf3physical_linkTb4b4b4[Ta5d6ff"Ta5d6ffrssiTa5d6ff"Tb4b4b4]
Tff7b72if Ta5d6ff"Ta5d6ffsnrTa5d6ff" Tff7b72in Te6edf3physical_linkTb4b4b4: Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffphysical_linkTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffsnr Tff7b72= Te6edf3physical_linkTb4b4b4[Ta5d6ff"Ta5d6ffsnrTa5d6ff"Tb4b4b4]
Tff7b72if Ta5d6ff"Ta5d6ffqualityTa5d6ff" Tff7b72in Te6edf3physical_linkTb4b4b4: Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffphysical_linkTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffq Tff7b72= Te6edf3physical_linkTb4b4b4[Ta5d6ff"Ta5d6ffqualityTa5d6ff"Tb4b4b4]
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffphysical_linkTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_dataTb4b4b4(Tb4b4b4)
Te6edf3tlm Tff7b72= Te6edf3telemeterTff7b72.Td2a8ffread_allTb4b4b4(Tb4b4b4)
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Tffa657strTb4b4b4(Te6edf3tlmTb4b4b4)Tb4b4b4)
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffAn error occurred while decoding telemetry. The contained exception was: Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_ERRORTb4b4b4)
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Ta5d6ff"Ta5d6ffCould not decode telemetryTa5d6ff"Tb4b4b4)
Tff7b72return Te6edf3x
Tff7b72def Td2a8ffgen_copy_lxm_uriTb4b4b4(Te6edf3lxmTb4b4b4, Te6edf3itemTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffxTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Te6edf3lxmTff7b72.Td2a8ffas_uriTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3x
Tff7b72def Td2a8ffgen_save_qrTb4b4b4(Te6edf3lxmTb4b4b4, Te6edf3itemTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3RNSTff7b72.Td2a8ffvendorTff7b72.Td2a8ffplatformutilsTff7b72.Td2a8ffis_androidTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffxTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3qr_image Tff7b72= Te6edf3lxmTff7b72.Td2a8ffas_qrTb4b4b4(Tb4b4b4)
Te6edf3hash_str Tff7b72= Te6edf3RNSTff7b72.Td2a8ffhexrepTb4b4b4(Te6edf3lxmTff7b72.Td2a8ffhashTb4b4b4[Tff7b72-T79c0ff2Tb4b4b4:Tb4b4b4]Tb4b4b4, Te6edf3delimitTff7b72=Tff7b72FalseTb4b4b4)
Te6edf3filename Tff7b72= Ta5d6ff"Ta5d6ffPaper_Message_Ta5d6ff"Tff7b72+Te6edf3timeTff7b72.Td2a8ffstrftimeTb4b4b4(Te6edf3file_ts_formatTb4b4b4, Te6edf3timeTff7b72.Td2a8fflocaltimeTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ff_Ta5d6ff"Tff7b72+Te6edf3hash_strTff7b72+Ta5d6ff"Ta5d6ff.pngTa5d6ff"
T8b949e# filename = "Paper_Message.png"
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffshare_imageTb4b4b4(Te6edf3qr_imageTb4b4b4, Te6edf3filenameTb4b4b4)
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3x
Tff7b72elseTb4b4b4:
Tff7b72def Td2a8ffxTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3qr_image Tff7b72= Te6edf3lxmTff7b72.Td2a8ffas_qrTb4b4b4(Tb4b4b4)
Te6edf3hash_str Tff7b72= Te6edf3RNSTff7b72.Td2a8ffhexrepTb4b4b4(Te6edf3lxmTff7b72.Td2a8ffhashTb4b4b4[Tff7b72-T79c0ff2Tb4b4b4:Tb4b4b4]Tb4b4b4, Te6edf3delimitTff7b72=Tff7b72FalseTb4b4b4)
Te6edf3filename Tff7b72= Ta5d6ff"Ta5d6ffPaper_Message_Ta5d6ff"Tff7b72+Te6edf3timeTff7b72.Td2a8ffstrftimeTb4b4b4(Te6edf3file_ts_formatTb4b4b4, Te6edf3timeTff7b72.Td2a8fflocaltimeTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ff_Ta5d6ff"Tff7b72+Te6edf3hash_strTff7b72+Ta5d6ff"Ta5d6ff.pngTa5d6ff"
Tff7b72if Te6edf3RNSTff7b72.Td2a8ffvendorTff7b72.Td2a8ffplatformutilsTff7b72.Td2a8ffis_darwinTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3save_path Tff7b72= Tffa657strTb4b4b4(Te6edf3plyerTff7b72.Td2a8ffstoragepathTff7b72.Td2a8ffget_downloads_dirTb4b4b4(Tb4b4b4)Tff7b72+Te6edf3filenameTb4b4b4)Tff7b72.Td2a8ffreplaceTb4b4b4(Ta5d6ff"Ta5d6fffile://Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3save_path Tff7b72= Te6edf3plyerTff7b72.Td2a8ffstoragepathTff7b72.Td2a8ffget_downloads_dirTb4b4b4(Tb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ff/Ta5d6ff"Tff7b72+Te6edf3filename
Te6edf3qr_imageTff7b72.Td2a8ffsaveTb4b4b4(Te6edf3save_pathTb4b4b4)
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3ok_button Tff7b72= Te6edf3MDRectangleFlatButtonTb4b4b4(Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffOKTa5d6ff"Tb4b4b4,Te6edf3font_sizeTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4)
Te6edf3dialog Tff7b72= Te6edf3MDDialogTb4b4b4(
Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffQR Code SavedTa5d6ff"Tb4b4b4,
Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffThe paper message has been saved to: Ta5d6ff"Tff7b72+Te6edf3save_pathTff7b72+Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3buttonsTff7b72=Tb4b4b4[ Te6edf3ok_button Tb4b4b4]Tb4b4b4,
T8b949e# elevation=0,
Tb4b4b4)
Tff7b72def Td2a8ffdl_okTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4:
Te6edf3dialogTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3ok_buttonTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_releaseTff7b72=Te6edf3dl_okTb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffopenTb4b4b4(Tb4b4b4)
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3ok_button Tff7b72= Te6edf3MDRectangleFlatButtonTb4b4b4(Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffOKTa5d6ff"Tb4b4b4,Te6edf3font_sizeTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4)
Te6edf3dialog Tff7b72= Te6edf3MDDialogTb4b4b4(
Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffErrorTa5d6ff"Tb4b4b4,
Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffCould not save the paper message QR-code to:Tffea00\nTffea00\nTa5d6ff"Tff7b72+Te6edf3save_pathTff7b72+Ta5d6ff"Tffea00\nTffea00\nTa5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4,
Te6edf3buttonsTff7b72=Tb4b4b4[ Te6edf3ok_button Tb4b4b4]Tb4b4b4,
T8b949e# elevation=0,
Tb4b4b4)
Tff7b72def Td2a8ffdl_okTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4:
Te6edf3dialogTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3ok_buttonTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_releaseTff7b72=Te6edf3dl_okTb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffopenTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3x
Tff7b72def Td2a8ffgen_print_qrTb4b4b4(Te6edf3lxmTb4b4b4, Te6edf3itemTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3RNSTff7b72.Td2a8ffvendorTff7b72.Td2a8ffplatformutilsTff7b72.Td2a8ffis_androidTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffxTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3x
Tff7b72elseTb4b4b4:
Tff7b72def Td2a8ffxTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3qr_image Tff7b72= Te6edf3lxmTff7b72.Td2a8ffas_qrTb4b4b4(Tb4b4b4)
Te6edf3qr_tmp_path Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fftmp_dirTff7b72+Ta5d6ff"Ta5d6ff/Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3RNSTff7b72.Td2a8ffhexrepTb4b4b4(Te6edf3lxmTff7b72.Td2a8ffhashTb4b4b4, Te6edf3delimitTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4)
Te6edf3qr_imageTff7b72.Td2a8ffsaveTb4b4b4(Te6edf3qr_tmp_pathTb4b4b4)
Te6edf3print_command Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffconfigTb4b4b4[Ta5d6ff"Ta5d6ffprint_commandTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3qr_tmp_path
Te6edf3return_code Tff7b72= Te6edf3subprocessTff7b72.Td2a8ffcallTb4b4b4(Te6edf3shlexTff7b72.Td2a8ffsplitTb4b4b4(Te6edf3print_commandTb4b4b4)Tb4b4b4, Te6edf3stdoutTff7b72=Te6edf3subprocessTff7b72.Td2a8ffDEVNULLTb4b4b4, Te6edf3stderrTff7b72=Te6edf3subprocessTff7b72.Td2a8ffDEVNULLTb4b4b4)
Te6edf3osTff7b72.Td2a8ffunlinkTb4b4b4(Te6edf3qr_tmp_pathTb4b4b4)
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3ok_button Tff7b72= Te6edf3MDRectangleFlatButtonTb4b4b4(Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffOKTa5d6ff"Tb4b4b4,Te6edf3font_sizeTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4)
Te6edf3dialog Tff7b72= Te6edf3MDDialogTb4b4b4(
Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffErrorTa5d6ff"Tb4b4b4,
Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffCould not print the paper message QR-code.Tffea00\nTffea00\nTa5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4,
Te6edf3buttonsTff7b72=Tb4b4b4[ Te6edf3ok_button Tb4b4b4]Tb4b4b4,
T8b949e# elevation=0,
Tb4b4b4)
Tff7b72def Td2a8ffdl_okTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4:
Te6edf3dialogTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3ok_buttonTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_releaseTff7b72=Te6edf3dl_okTb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffopenTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3x
Te6edf3retry_item Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffRetryTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_retryTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}
Tff7b72if Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffmethodTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffPAPERTb4b4b4:
Tff7b72if Te6edf3RNSTff7b72.Td2a8ffvendorTff7b72.Td2a8ffplatformutilsTff7b72.Td2a8ffis_androidTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3qr_save_text Tff7b72= Ta5d6ff"Ta5d6ffShare QR CodeTa5d6ff"
Te6edf3dm_items Tff7b72= Tb4b4b4[
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffShare QR CodeTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_save_qrTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCopy LXM URITa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_copy_lxm_uriTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCopy message textTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_copyTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffDeleteTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_delTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}
Tb4b4b4]
Tff7b72elseTb4b4b4:
Te6edf3dm_items Tff7b72= Tb4b4b4[
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffPrint QR CodeTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_print_qrTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffSave QR CodeTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_save_qrTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCopy LXM URITa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_copy_lxm_uriTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6fflxmTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCopy message textTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_copyTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffDeleteTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_delTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}
Tb4b4b4]
Tff7b72elseTb4b4b4:
Tff7b72if Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffFAILEDTb4b4b4:
Te6edf3dm_items Tff7b72= Tb4b4b4[
Te6edf3retry_itemTb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCopyTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_copyTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffDeleteTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_delTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}
Tb4b4b4]
Tff7b72elseTb4b4b4:
Tff7b72if Te6edf3telemeter Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3dm_items Tff7b72= Tb4b4b4[
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCopyTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_copyTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCopy telemetryTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_copy_telemetryTb4b4b4(Te6edf3telemeterTb4b4b4, Te6edf3extra_telemetryTb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffDeleteTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_delTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}
Tb4b4b4]
Tff7b72elseTb4b4b4:
Te6edf3dm_items Tff7b72= Tb4b4b4[
Tb4b4b4{
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCopyTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_copyTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffDeleteTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffviewclassTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffOneLineListItemTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffheightTa5d6ff"Tb4b4b4: Te6edf3dpTb4b4b4(T79c0ff40Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3gen_delTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3itemTb4b4b4)
Tb4b4b4}
Tb4b4b4]
Te6edf3itemTff7b72.Td2a8ffdmenu Tff7b72= Te6edf3MDDropdownMenuTb4b4b4(
Te6edf3callerTff7b72=Te6edf3itemTff7b72.Td2a8ffidsTff7b72.Td2a8ffmsg_submenuTb4b4b4,
Te6edf3itemsTff7b72=Te6edf3dm_itemsTb4b4b4,
Te6edf3positionTff7b72=Ta5d6ff"Ta5d6ffautoTa5d6ff"Tb4b4b4,
Te6edf3widthTff7b72=Te6edf3dpTb4b4b4(T79c0ff256Tb4b4b4)Tb4b4b4,
Te6edf3elevationTff7b72=T79c0ff0Tb4b4b4,
Te6edf3radiusTff7b72=Te6edf3dpTb4b4b4(T79c0ff3Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Te6edf3itemTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffretry_item Tff7b72= Te6edf3retry_item
Tff7b72def Td2a8ffcallback_factoryTb4b4b4(Te6edf3refTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffxTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Te6edf3refTff7b72.Td2a8ffdmenuTff7b72.Td2a8ffopenTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3x
T8b949e# Bind menu open
Te6edf3itemTff7b72.Td2a8ffidsTff7b72.Td2a8ffmsg_submenuTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_releaseTff7b72=Te6edf3callback_factoryTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffloading_earlier_messagesTb4b4b4:
Te6edf3insert_pos Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8fflistTff7b72.Td2a8ffchildrenTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3insert_pos Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ffadded_item_hashesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4]Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffwidgetsTff7b72.Td2a8ffappendTb4b4b4(Te6edf3itemTb4b4b4)
Tff7b72selfTff7b72.Td2a8fflistTff7b72.Td2a8ffadd_widgetTb4b4b4(Te6edf3itemTb4b4b4, Te6edf3insert_posTb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8fflatest_message_timestamp Tff7b72== Tff7b72None Tff7b72or Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffreceivedTa5d6ff"Tb4b4b4] Tff7b72> Tff7b72selfTff7b72.Td2a8fflatest_message_timestampTb4b4b4:
Tff7b72selfTff7b72.Td2a8fflatest_message_timestamp Tff7b72= Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffreceivedTa5d6ff"Tb4b4b4]
Tff7b72if Tff7b72selfTff7b72.Td2a8ffearliest_message_timestamp Tff7b72== Tff7b72None Tff7b72or Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffreceivedTa5d6ff"Tb4b4b4] Tff7b72< Tff7b72selfTff7b72.Td2a8ffearliest_message_timestampTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffearliest_message_timestamp Tff7b72= Te6edf3mTb4b4b4[Ta5d6ff"Ta5d6ffreceivedTa5d6ff"Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffadded_messages Tff7b72+Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffnew_messagesTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffnew_messages Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72def Td2a8ffget_widgetTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72selfTff7b72.Td2a8fflist
Tff7b72def Td2a8ffclose_send_error_dialogTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffsend_error_dialogTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsend_error_dialogTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3messages_screen_kv Tff7b72= Ta5d6ff"""
Ta5d6ffMDScreen:
Ta5d6ff name: Ta5d6ff"Ta5d6ffmessages_screenTa5d6ff"
Ta5d6ff
Ta5d6ff BoxLayout:
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffverticalTa5d6ff"
Ta5d6ff MDTopAppBar:
Ta5d6ff id: messages_toolbar
Ta5d6ff anchor_title: Ta5d6ff"Ta5d6ffleftTa5d6ff"
Ta5d6ff title: Ta5d6ff"Ta5d6ffMessagesTa5d6ff"
Ta5d6ff elevation: 0
Ta5d6ff left_action_items:
Ta5d6ff [[Ta5d6ff'Ta5d6ffmenuTa5d6ff'Ta5d6ff, lambda x: root.app.nav_drawer.set_state(Ta5d6ff"Ta5d6ffopenTa5d6ff"Ta5d6ff)],]
Ta5d6ff right_action_items:
Ta5d6ff [
Ta5d6ff [Ta5d6ff'Ta5d6ffmap-marker-pathTa5d6ff'Ta5d6ff, lambda x: root.app.peer_show_telemetry_action(self)],
Ta5d6ff [Ta5d6ff'Ta5d6ffmap-searchTa5d6ff'Ta5d6ff, lambda x: root.app.peer_show_location_action(self)],
Ta5d6ff [Ta5d6ff'Ta5d6fflan-connectTa5d6ff'Ta5d6ff, lambda x: root.app.message_propagation_action(self)],
Ta5d6ff [Ta5d6ff'Ta5d6ffcloseTa5d6ff'Ta5d6ff, lambda x: root.app.close_settings_action(self)],
Ta5d6ff ]
Ta5d6ff ScrollView:
Ta5d6ff id: messages_scrollview
Ta5d6ff do_scroll_x: False
Ta5d6ff do_scroll_y: True
Ta5d6ff BoxLayout:
Ta5d6ff id: no_keys_part
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffverticalTa5d6ff"
Ta5d6ff padding: [dp(16), dp(0), dp(16), dp(16)]
Ta5d6ff spacing: dp(24)
Ta5d6ff size_hint_y: None
Ta5d6ff height: self.minimum_height + dp(64)
Ta5d6ff MDLabel:
Ta5d6ff id: nokeys_text
Ta5d6ff text: Ta5d6ff"Ta5d6ff"
Ta5d6ff MDRectangleFlatIconButton:
Ta5d6ff icon: Ta5d6ff"Ta5d6ffkey-wirelessTa5d6ff"
Ta5d6ff text: Ta5d6ff"Ta5d6ffQuery Network For KeysTa5d6ff"
Ta5d6ff on_release: root.app.key_query_action(self)
Ta5d6ff
Ta5d6ff BoxLayout:
Ta5d6ff id: message_input_part
Ta5d6ff padding: [dp(16), dp(0), dp(16), dp(16)]
Ta5d6ff spacing: dp(24)
Ta5d6ff size_hint_y: None
Ta5d6ff height: self.minimum_height
Ta5d6ff MDTextField:
Ta5d6ff id: message_text
Ta5d6ff keyboard_suggestions: True
Ta5d6ff multiline: True
Ta5d6ff hint_text: Ta5d6ff"Ta5d6ffWrite messageTa5d6ff"
Ta5d6ff mode: Ta5d6ff"Ta5d6ffrectangleTa5d6ff"
Ta5d6ff max_height: dp(100)
Ta5d6ff MDRectangleFlatIconButton:
Ta5d6ff id: message_send_button
Ta5d6ff icon: Ta5d6ff"Ta5d6fftransfer-upTa5d6ff"
Ta5d6ff text: Ta5d6ff"Ta5d6ffSendTa5d6ff"
Ta5d6ff padding: [dp(10), dp(13), dp(10), dp(14)]
Ta5d6ff icon_size: dp(24)
Ta5d6ff font_size: dp(16)
Ta5d6ff on_release: root.app.message_send_action(self)
Ta5d6ff"""
Te6edf3BuilderTff7b72.Td2a8ffload_stringTb4b4b4(Ta5d6ff"""
Ta5d6ff<ListLXMessageCard>:
Ta5d6ff style: Ta5d6ff"Ta5d6ffoutlinedTa5d6ff"
Ta5d6ff padding: dp(8)
Ta5d6ff radius: dp(4)
Ta5d6ff size_hint: 1.0, None
Ta5d6ff height: content_text.height + heading_text.height + dp(32)
Ta5d6ff pos_hint: Ta5d6ff{Ta5d6ff"Ta5d6ffcenter_xTa5d6ff"Ta5d6ff: .5, Ta5d6ff"Ta5d6ffcenter_yTa5d6ff"Ta5d6ff: .5}
Ta5d6ff MDRelativeLayout:
Ta5d6ff size_hint: 1.0, None
Ta5d6ff theme_text_color: Ta5d6ff"Ta5d6ffContrastParentBackgroundTa5d6ff"
Ta5d6ff MDIconButton:
Ta5d6ff id: msg_submenu
Ta5d6ff icon: Ta5d6ff"Ta5d6ffdots-verticalTa5d6ff"
Ta5d6ff # theme_text_color: Ta5d6ff'Ta5d6ffCustomTa5d6ff'
Ta5d6ff # text_color: rgba(255,255,255,216)
Ta5d6ff pos:
Ta5d6ff root.width - (self.width + root.padding[0] + dp(4)), root.height - (self.height + root.padding[0] + dp(4))
Ta5d6ff MDLabel:
Ta5d6ff id: heading_text
Ta5d6ff markup: True
Ta5d6ff text: root.heading
Ta5d6ff adaptive_size: True
Ta5d6ff # theme_text_color: Ta5d6ff'Ta5d6ffCustomTa5d6ff'
Ta5d6ff # text_color: rgba(255,255,255,100)
Ta5d6ff pos: 0, root.height - (self.height + root.padding[0] + dp(8))
Ta5d6ff MDLabel:
Ta5d6ff id: content_text
Ta5d6ff text: root.text
Ta5d6ff markup: False
Ta5d6ff size_hint_y: None
Ta5d6ff text_size: self.width, None
Ta5d6ff height: self.texture_size[1]
Ta5d6ff<CustomOneLineIconListItem>
Ta5d6ff IconLeftWidget:
Ta5d6ff icon: root.icon
Ta5d6ff"""Tb4b4b4)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────